package com.bytecodes.eaulas.comun.servicios;

import java.rmi.Remote;
import java.rmi.RemoteException;
import java.util.List;
import com.bytecodes.eaulas.beans.Aula;
import com.bytecodes.eaulas.beans.Recurso;
import com.bytecodes.eaulas.beans.Reserva;
import com.bytecodes.eaulas.beans.ReservaRecurso;
import com.bytecodes.eaulas.beans.Rol;
import com.bytecodes.eaulas.beans.Usuario;
import com.bytecodes.eaulas.comun.EAulasTableModel;
import java.util.HashMap;


/**
 * Clase interface que contiene todos los m�todos de negocio
 * 
 * @author David,Robert,Armando.............
 * @version PAC4
 */
public interface EAulasServiciosInterface extends Remote {

	public Recurso consultaExtra(int IdAula) throws RemoteException;
	public Recurso consultaRecurso(int idRecurso) throws RemoteException;
	public List<Recurso> consultaRecursos(String filtro) throws RemoteException;
	public List<ReservaRecurso> getRecurso(Integer idBooking) throws RemoteException;
	public Boolean setInsertReserva(Integer Id,String userid,Integer spaceid,Integer resourceId,String start_time,String end_time,Integer pax,String status,String creation_time,double importe) throws RemoteException;
	public Integer dameUltimaReserva() throws RemoteException;
	public List<Recurso> consultaExtras()throws RemoteException;
	public List<Aula> consultaAulas()throws RemoteException;
	public Aula consultaAulas(int pIdAula) throws RemoteException;
	public Usuario getClient(String idClient) throws RemoteException;
        public List<Usuario> getClientes() throws RemoteException;        
        public List<HashMap> getDatosEstRend(String id, String fechaInicio, String fechaFin, String tipoEst) throws RemoteException;
        public List<Reserva> getDatosEstOcupacion(String id, String fechaInicio, String fechaFin, String tipoEst) throws RemoteException;
	public Boolean setDeleteUser(Integer Id) throws RemoteException;    
	public Boolean setUpdateResolt(String missatge, Integer Id) throws RemoteException;
	public Double getImporte(Integer idBooking) throws RemoteException;
	public String getDescripcio(Integer idAula) throws RemoteException;
	public List<Reserva> getReixa(String filtro, String idClient) throws RemoteException;
	public List<Usuario> getTotal(String filtro) throws RemoteException;
	public List<Usuario> consultaUsuarios(String filtro) throws RemoteException;
	public Boolean AltaUsuario(Usuario pUsuario, String idUsuarioCreador) throws RemoteException;
	public Boolean bajaUsuario(String identificador, String idUsuarioCreador) throws RemoteException;
	public Boolean AltaRecurso (Recurso recurso, String idCliente) throws RemoteException;
	public Boolean AltaAula (Aula aula) throws RemoteException;
	public EAulasTableModel getTableModel(String tableName, String filter) throws RemoteException;
	public Boolean BajaAula (Integer idAula, String idCliente) throws RemoteException;
	public List<Aula> BuscaAulas (String filtro) throws RemoteException;
	public Boolean updateAula (Aula aula) throws RemoteException;
	public List<Rol> getRoles() throws RemoteException;
	public Boolean updateUsuario(Usuario usuario, String idUsuarioCreador) throws RemoteException;
	public boolean borraRecurso(Recurso recurso, String idCliente) throws RemoteException;
}

